/**
 * Project Name:zyhj-admin
 * File Name:TYyxtO2oQyxxbService.java
 * Package Name:com.vviton.zyhj.admin.service
 * Date:2016年11月14日下午3:12:51
 *
 */

package com.vviton.zyhj.admin.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.vviton.zyhj.common.entity.TYyxtO2oQyxxb;
import com.vviton.zyhj.common.utils.ResultJson;
import com.vviton.zyhj.common.utils.page.Page;
import com.vviton.zyhj.common.view.Paramo2oQyxx;
import com.vviton.zyhj.common.view.ViewHzfxx;
import com.wdcloud.framework.core.log.annotation.MonitorLog;
import com.wdcloud.framework.core.log.entity.MonitorLogInfo;

/**
 * ClassName:TYyxtO2oQyxxbService <br/>
 * Function: o2o企业信息service <br/>
 * Date: 2016年11月14日 下午3:12:51 <br/>
 *
 * @author libo
 * @version
 * @since JDK 1.7
 * @see
 */
@Service
public interface QyxxService {

    /**
     *
     * selectByQyid,(根据企业id获取企业信息). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月17日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月17日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param qyid 企业id
     * @return TYyxtO2oQyxxb 企业信息
     * @since JDK 1.7
     */
    @MonitorLog(text = "根据企业id获取企业信息", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    TYyxtO2oQyxxb selectByQyid(String qyid);

    /**
     *
     * selectQyxxListByCondition,(根据查询条件查询企业列表). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramQyxx 查询参数对象
     * @return Page 企业信息分页列表
     * @since JDK 1.7
     */
    @MonitorLog(text = "分页查询企业列表", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    Page selectQyxxListByCondition(Paramo2oQyxx paramQyxx);

    /**
     *
     * insert,(新增企业信息记录). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param record 企业信息参数对象
     * @return ResultJson
     * @since JDK 1.7
     */
    @MonitorLog(text = "新增企业信息记录", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson insert(TYyxtO2oQyxxb record);

    /**
     *
     * updateByPrimaryKey,(根据编号修改企业信息). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param record 企业信息参数
     * @return ResultJson
     * @since JDK 1.7
     */
    @MonitorLog(text = "修改企业信息", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson updateByPrimaryKey(TYyxtO2oQyxxb record);

    /**
     *
     * disableQyxxByKey,(根据ID禁用该企业所有信息). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param qyid 企业ID
     * @param zzjgdm 组织机构代码
     * @param yhzh 用户账号
     * @return ResultJson
     * @since JDK 1.7
     */
    @MonitorLog(text = "根据ID禁用此企业", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson disableQyxxByKey(String qyid, String zzjgdm, String yhzh);

    /**
     *
     * recoverQyxxByKey,(根据ID恢复此企业). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param qyid 企业ID
     * @param zzjgdm 组织机构代码
     * @param yhzh 用户账号
     * @return ResultJson
     * @since JDK 1.7
     */
    @MonitorLog(text = "根据ID恢复此企业", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson recoverQyxxByKey(String qyid, String zzjgdm, String yhzh);

    /**
     *
     * resetAdminPwd,(重置超级管理员密码). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param glyzh 管理员账号
     * @param newPwd 管理员新密码
     * @return ResultJson
     * @since JDK 1.7
     */
    @MonitorLog(text = "重置超级管理员密码", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson resetAdminPwd(String glyzh, String newPwd);

    /**
     *
     * isHzfrzAndxyqd,(查询合作方是否入驻和协议签订判断). <br/>
     * Author: libo <br/>
     * Create Date: 2017年3月24日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2017年3月24日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param loginid 登录人id
     * @param cmsorgcode 组织机构代码
     * @return ViewHzfxx 合作方信息
     * @since JDK 1.7
     */
    @MonitorLog(text = "查询合作方是否入驻和协议签订判断", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ViewHzfxx isHzfrzAndxyqd(String loginid, String cmsorgcode);

    /**
     *
     * HzfxxListByCmsorgcode,(根据组织机构代码集合获取所有的企业信息). <br/>
     * Author: libo <br/>
     * Create Date: 2017年3月24日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2017年3月24日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param cmsorgcodes 组织机构代码集合对象
     * @return List<ViewHzfxx> 合作方企业信息列表
     * @since JDK 1.7
     */
    @MonitorLog(text = "根据组织机构代码集合获取所有的企业信息", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    List<ViewHzfxx> HzfxxListByCmsorgcode(String cmsorgcode);

}
